package com.alan.libapi.api;

import com.alan.libapi.model.business.ConnectedDeviceInfo;
import com.alan.libapi.model.business.SharedWifiInfo;
import com.alan.libapi.model.business.TcpResponseStatus;

import java.util.List;

/**
 * @className: ApiTcp
 * @describtion: ApiTcp
 * @author: AlanWang
 * @email: 850267876@qq.com
 * @time: 2016/4/28 18:12
 */
public interface ApiTcp {

    /**
     * 发送设备拥有者详细信息
     * @param deviceMasterId
     * @return
     */
    ApiResponse<TcpResponseStatus> sendMasterInfo(int deviceMasterId) ;

    /**
     * 送设备附近周围分享的热点信息
     * @param deviceMasterId
     * @param wifiInfoList
     * @return
     */
    ApiResponse<TcpResponseStatus> sendWifiInfo(int deviceMasterId, List<SharedWifiInfo> wifiInfoList) ;

    /**
     * 修改WL设备Wifi的SSID或者密码信息
     * @param deviceMasterId
     * @param SSID
     * @param password
     * @return
     */
    ApiResponse<TcpResponseStatus> modifyDeviceWifi(int deviceMasterId, String SSID, String password) ;

    /**
     * 获取WL设备所有已连接上的所有设备信息
     * @param deviceMasterId
     * @return
     */
    ApiResponse<List<ConnectedDeviceInfo>> getDeviceUserList(int deviceMasterId) ;


    /**
     * 删除WL设备指定的已连接上的用户设备
     * @param deviceMasterId
     * @param userMac
     * @return
     */
    ApiResponse<TcpResponseStatus> deleteDeviceUser(int deviceMasterId, String userMac) ;
}
